package com.coffeeloversupportlibrary.coffeelover.mercury.login;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.EditText;
import android.widget.FrameLayout;
import android.widget.Toast;

import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.AppCompatButton;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentTransaction;

import com.coffeeloversupportlibrary.R;

/**
 * @author 盛守义
 * @createTime 2021/11/8 13:00
 * @projectName TurningCoffee
 * @className AllLoginActivity.java
 * @description TODO
 */
public class AllLoginActivity extends AppCompatActivity {

    private FrameLayout frame;

    private FragmentManager manager = getSupportFragmentManager();

//    private LoginFragment login = new LoginFragment();
//    private RegistFragment regist = new RegistFragment();
//    private ForgetPwdFragment forget = new ForgetPwdFragment();
//    private ResetPasswordFragment reset = new ResetPasswordFragment();

    private LoginActivity logina = new LoginActivity();
    private RegistActivity regista = new RegistActivity();
    private ForgetPwdActivity forgeta = new ForgetPwdActivity();
    private ResetPasswordActivity reseta = new ResetPasswordActivity();


    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.all_login_activity);
        initView();
        setFragmentListener();

        FragmentTransaction transaction = manager.beginTransaction();
//        transaction.replace(R.id.frame, logina).commit();
//        transaction.add(R.id.frame, logina).add(R.id.frame, regista).add(R.id.frame, forgeta).add(R.id.frame, reseta);
//        hideFragment(transaction);
//        transaction.show(logina).commit();


    }

    private void hideFragment(FragmentTransaction transaction){
        //transaction.hide(logina).hide(regista).hide(forgeta).hide(reseta);
    }

    void initView(){
        frame = findViewById(R.id.frame);
    }

    void setFragmentListener(){
//        login.setOnButtonClick(new LoginFragment.OnButtonClick() {
//            @Override
//            public void onClick(View view) {
//                switch (view.getId()){
//                    case R.id.btn_forgetlogin:
//                        hideFragment(transaction);
//                        transaction.show(forget).commit();
//                        break;
//                }
//            }
//        });
        logina.setOnButtonClick(new LoginActivity.OnButtonClick() {
            @Override
            public void onClick(View view) {
                FragmentTransaction transaction = manager.beginTransaction();
                switch (view.getId()){
                    case R.id.btn_forgetlogin:
                        //hideFragment(transaction);
                        //transaction.replace(R.id.frame, forgeta).commit();
                        break;
                    case R.id.btn_rgstlogin:
                        hideFragment(transaction);
                        //transaction.show(regista).commit();
                        break;
                }
            }
        });
    }

//    //登录
//    public static class LoginFragment extends Fragment {
//        private View view;
//        private OnButtonClick onButtonClick;
//
//        private EditText et_email,et_pwd;
//        private AppCompatButton btn_forget, btn_regist, btn_submit;
//        private String email, pwd;
//        private Intent intent;
//        private Activity activity;
//
//        @Override
//        public void onCreate(@Nullable Bundle savedInstanceState) {
//            super.onCreate(savedInstanceState);
//        }
//
//        @Nullable
//        @Override
//        public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
//            view = inflater.inflate(R.layout.activity_login, null);
//            activity = getActivity();
//            initViews();
//            //setListener();
//            return view;
//        }
//
//        void initViews(){
//            et_email = view.findViewById(R.id.et_emaillogin);
//            et_pwd = view.findViewById(R.id.et_pwdlogin);
//            btn_forget = view.findViewById(R.id.btn_forgetlogin);
//            btn_regist = view.findViewById(R.id.btn_rgstlogin);
//            btn_submit = view.findViewById(R.id.btn_submitlogin);
//        }
//
//        class MyClickListener implements View.OnClickListener {
//
//            @Override
//            public void onClick(View view) {
//                switch (view.getId()){
//                    case R.id.btn_forgetlogin:
//                        if (onButtonClick != null){
//                            onButtonClick.onClick(btn_forget);
//                        }
//                        break;
////                    case R.id.btn_rgstlogin:
////                        hideFragment(transaction);
////                        transaction.show(regist).commit();
////                        break;
//                    case R.id.btn_submitlogin:
//                        getValue();
//                        if(email.equals("")||email == null||pwd.equals("")||pwd == null){
//                            Toast.makeText(activity, "用户名或密码不能为空", Toast.LENGTH_SHORT).show();
//                        }else{
//                            Gson gson = new Gson();
//
//                            User user = new User();
//                            user.setUserPassword("123789456");
//                            user.setUserTel("75894462134@qq.com");
//
//                            String jsonString = gson.toJson(user);
//                            Log.e("jsonString:", jsonString);
//                            //发送用户名密码并接收
//                            HttpUtils httpUtils = new HttpUtils();
//                            RequestBody requestBody = RequestBody.create(MediaType.parse("application/json;charset=utf-8"), jsonString);
//
//                            //输入url
//                            Call call = httpUtils.getCall(requestBody, "/user/center-user/login");
//                            call.enqueue(new Callback() {
//                                @Override
//                                public void onFailure(@NotNull Call call, @NotNull IOException e) {
//                                    activity.runOnUiThread(new Runnable() {
//                                        @Override
//                                        public void run() {
//                                            Toast.makeText(activity, "网络连接崩溃了，绝对绝对不是我们的错", Toast.LENGTH_SHORT).show();
//                                        }
//                                    });
//
//                                }
//
//                                @Override
//                                public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
//                                    String res = response.body().string();
//                                    Log.e( "返回信息", res);
//                                    Register register = new JsonUtils().getRegister(res);
//                                    if(register.isSuccess() == true){
//                                        intent = new Intent(activity, MainActivity.class);
//
//                                        intent.putExtra("userInfo", register.getData());
//                                        startActivity(intent);
//                                    }
//                                }
//                            });
//                        }
//
//                        break;
//                }
//            }
//        }
//
//        void setListener(){
//            MyClickListener listener = new MyClickListener();
//            btn_forget.setOnClickListener(listener);
//            btn_regist.setOnClickListener(listener);
//            btn_submit.setOnClickListener(listener);
//        }
//
//        void getValue(){
//            email = et_email.getText().toString().trim();
//            pwd = et_pwd.getText().toString().trim();
//        }
//
//        public interface OnButtonClick{
//            public void onClick(View view);
//        }
//
//        public OnButtonClick getOnButtonClick() {
//            return onButtonClick;
//        }
//        //定义接口变量的set方法
//        public void setOnButtonClick(OnButtonClick onButtonClick) {
//            this.onButtonClick = onButtonClick;
//        }
//    }
//
//    //注册
//    public static class RegistFragment extends Fragment {
//        private View view;
//        private Activity activity;
//
//        private EditText et_mail, et_pwd, et_verify, et_username;
//        private AppCompatButton btn_submit;
//        private Intent intent;
//        private String email, pwd, verify, username;
//
//        @Override
//        public void onCreate(@Nullable Bundle savedInstanceState) {
//            super.onCreate(savedInstanceState);
//        }
//
//        @Nullable
//        @Override
//        public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
//            view = inflater.inflate(R.layout.activity_register, null);
//            activity = getActivity();
//            initView();
//            //setListener();
//
//            return view;
//        }
//
//        void initView(){
//            et_mail = view.findViewById(R.id.et_emailrgt);
//            et_pwd = view.findViewById(R.id.et_pwdrgt);
//            et_verify = view.findViewById(R.id.et_verifyrgt);
//            et_username = view.findViewById(R.id.et_username);
//            btn_submit = view.findViewById(R.id.btn_submitrgt);
//        }
//
//        void initValue(){
//            email = et_mail.getText().toString().trim();
//            pwd = et_pwd.getText().toString().trim();
//            verify = et_verify.getText().toString().trim();
//            username = et_username.getText().toString().trim();
//        }
//
//        void setListener(){
//            subClickListener listener = new subClickListener();
//            btn_submit.setOnClickListener(listener);
//        }
//
//        class subClickListener implements View.OnClickListener {
//
//            @Override
//            public void onClick(View view) {
//                initValue();
//                if (email == null || email.equals("") || pwd == null || pwd.equals("") || verify == null || verify.equals("")||username == null || username.equals("")) {
//                    Toast.makeText(activity, "输入不能为空", Toast.LENGTH_SHORT).show();
//                } else {
//                    Gson gson = new Gson();
//
//                    User user = new User();
//                    user.setUserPassword("123789456");
//                    user.setUserTel("75894462134@qq.com");
//                    user.setUserNickname("不能为空");
//
//                    String jsonString = gson.toJson(user);
//                    Log.e("jsonString:", jsonString);
//                    //发送用户名密码并接收
//                    HttpUtils httpUtils = new HttpUtils();
//                    RequestBody requestBody = RequestBody.create(MediaType.parse("application/json;charset=utf-8"), jsonString);
//
//                    //输入url
//                    Call call = httpUtils.getCall(requestBody, "/user/center-user/register");
//                    call.enqueue(new Callback() {
//                        @Override
//                        public void onFailure(@NotNull Call call, @NotNull IOException e) {
//                            activity.runOnUiThread(new Runnable() {
//                                @Override
//                                public void run() {
//                                    Toast.makeText(activity, "网络连接崩溃了，绝对绝对不是我们的错", Toast.LENGTH_SHORT).show();
//                                    activity.finish();
//                                }
//                            });
//
//                        }
//
//                        @Override
//                        public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
//                            String res = response.body().string();
//                            Log.e("返回信息", res);
//                            Register register = new JsonUtils().getRegister(res);
//                            if (register.isSuccess() == true) {
//                                activity.finish();
//                            }
//                        }
//                    });
//                }
//            }
//        }
//    }
//
//    //忘记密码
//    public static class ForgetPwdFragment extends Fragment {
//        private View view;
//        private Activity activity;
//
//        private EditText et_mail, et_verifyfgtpwd;
//        private AppCompatButton btn_verifyfgtpwd, btn_submitfgtpwd;
//        private String email, confirmCode;
//
//        @Override
//        public void onCreate(@Nullable Bundle savedInstanceState) {
//            super.onCreate(savedInstanceState);
//
//        }
//
//        @Nullable
//        @Override
//        public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
//            view = inflater.inflate(R.layout.activity_forgetpwd, null);
//            activity = getActivity();
//            initViews();
//            //setListener();
//
//            return view;
//        }
//
//        class ForgetPwdOnClickListener implements View.OnClickListener{
//
//            @Override
//            public void onClick(View view) {
//                switch (view.getId()){
//                    case R.id.btn_verifyfgtpwd:
//                        email = et_mail.getText().toString().trim();
//                        if(email == null|| email.equals("")){
//                            Toast.makeText(activity, "邮箱不能为空", Toast.LENGTH_SHORT).show();
//                        }else{
//                            Gson gson = new Gson();
//
//                            User user = new User();
//                            user.setUserTel(email);
//
//                            String jsonString = gson.toJson(user);
//
//                            HttpUtils httpUtils = new HttpUtils();
//                            RequestBody requestBody = RequestBody.create(MediaType.parse("application/json;charset=utf-8"), jsonString);
//
//                            //url
//                            Call call = httpUtils.getCall(requestBody, "");
//                        }
//                        break;
//                    case R.id.btn_submitfgtpwd:
//                        email = et_mail.getText().toString().trim();
//                        confirmCode = et_verifyfgtpwd.getText().toString().trim();
//                        if(confirmCode == null|| confirmCode.equals("")){
//                            Toast.makeText(activity, "请输入验证码", Toast.LENGTH_SHORT).show();
//                        }
//                        //提交验证码和邮箱
//                        //返回json
//                        //将map中success判断
//
//
//                        Intent intent = new Intent(activity, ResetPasswordActivity.class);
//                        intent.putExtra("usermail", email);
//                        break;
//                }
//            }
//        }
//
//
//        void initViews(){
//            et_mail = view.findViewById(R.id.et_mailfgtpwd);
//            et_verifyfgtpwd = view.findViewById(R.id.et_verifyfgtpwd);
//            btn_submitfgtpwd = view.findViewById(R.id.btn_submitfgtpwd);
//            btn_verifyfgtpwd = view.findViewById(R.id.btn_verifyfgtpwd);
//        }
//
//        void setListener(){
//            ForgetPwdOnClickListener listener = new ForgetPwdOnClickListener();
//            btn_submitfgtpwd.setOnClickListener(listener);
//            btn_verifyfgtpwd.setOnClickListener(listener);
//        }
//    }
//
//    //重置密码
//    public static class ResetPasswordFragment extends Fragment {
//        private View view;
//        private Activity activity;
//
//        private EditText et_pwdagain, et_checkpwd;
//        private AppCompatButton btn_submitagain;
//        private String pwd, pwdagain, email;
//
//        @Override
//        public void onCreate(@Nullable Bundle savedInstanceState) {
//            super.onCreate(savedInstanceState);
//
//            //email = getIntent().getStringExtra("mail");
//        }
//
//        @Nullable
//        @Override
//        public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
//            view = inflater.inflate(R.layout.activity_setpwdagain, null);
//            activity = getActivity();
//
//            initViews();
//            //setListener();
//
//            return view;
//        }
//
//        void initViews(){
//            et_pwdagain = view.findViewById(R.id.et_pwdagain);
//            et_checkpwd = view.findViewById(R.id.lg_truepwdagain);
//            btn_submitagain = view.findViewById(R.id.btn_submitagain);
//        }
//
//        class MyOnClickLiastener implements View.OnClickListener{
//
//            @Override
//            public void onClick(View view) {
//                initValue();
//                if(!pwd.equals(pwdagain)){
//                    Toast.makeText(activity, "两次密码输入不一致", Toast.LENGTH_SHORT).show();
//                }else{
//                    Gson gson = new Gson();
//                    User user = new User();
//                    user.setUserTel(email);
//                    user.setUserPassword(pwd);
//                    String jsonSrting = gson.toJson(user);
//
//                    HttpUtils httpUtils = new HttpUtils();
//                    RequestBody requestBody = RequestBody.create(MediaType.parse("application/json;charset=utf-8"), jsonSrting);
//                    //发送
//
//                    //判断后finish
//
//                }
//            }
//        }
//
//        void setListener(){
//            btn_submitagain.setOnClickListener(new MyOnClickLiastener());
//        }
//
//        void initValue(){
//            pwd = et_pwdagain.getText().toString().trim();
//            pwdagain = et_checkpwd.getText().toString().trim();
//        }
//    }

}


